package com.sc.nft.req.wxPay;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * JSAPI 支付下单，并返回 JSAPI 调起支付数据 (小程序支付下单)
 *
 * @Author：LiGen
 * @Package：com.metago.mallmini.domain.req.pay
 * @Project：meta_mall_mini_app
 * @name：WxPrepayReq
 * @Date：2024/5/10 14:33
 * @Filename：WxPrepayReq
 */
@Data
public class WxPrepayReq {

    /**
     * 小程序用户ID 必填
     */
    private Long miniUserId;

    /**
     * 商品描述 必填
     */
    private String description;

    /**
     * 商户订单号 必填
     */
    private String outTradeNo;

    /**
     * 交易结束时间 格式为rfc3339格式 选填
     */
    private String timeExpire;

    /**
     * 附加数据 附加数据 选填
     */
    private String attach;

    /**
     * 总金额 订单总金额，单位为分 目前只支持人民币
     */
    private Integer total;

    public static WxPrepayReq build(Long miniUserId, String description, String outTradeNo, String timeExpire, BigDecimal total) {
        WxPrepayReq wxPrepayReq = new WxPrepayReq();
        wxPrepayReq.setMiniUserId(miniUserId);
        wxPrepayReq.setDescription(description);
        wxPrepayReq.setOutTradeNo(outTradeNo);
        wxPrepayReq.setTimeExpire(timeExpire);
        wxPrepayReq.setTotal(total.multiply(new BigDecimal(100)).setScale(0).intValue());
        return wxPrepayReq;
    }

}
